// 引入 Vue 
import Vue from "vue";
// 引入 App
import App from "./App.vue"

// 阻止Vue生产提示
Vue.config.productionTip = false;

// 创建全局事件总线思路：将总线定义在 Vue 的原型对象上，让所有组件都能共享。
// 子给父通信需要用到的函数： $on   $once   $off    $emit  都是定义在 Vue 原型对象上的。
// Vue原型对象的方法都是给 vm 和 VueComponent 使用的，
// 所以要么把 vm(Vue实例) 要么把 vc(组件实例) 定义为全局总线，通过它们来绑定自定义事件

// 方式一：
/* const demo = Vue.extend({})
let d = new demo;
Vue.prototype.x = d  // 安装全局总线 */
console.log('@Vue.prototype',Vue.prototype)

const vm = new Vue({
    el:'#app',
    // 完成的功能：将 App 组件放入容器中
    render(h) {
        return h(App)
    },
    // 方式二：
    // 生命周期钩子：创建前
    beforeCreate() {
        Vue.prototype.$bus = this; // 安装全局事件总线，$bus就是当前应用的 vm （Vue实例）
    },

})

console.log('vm',vm);
